.\" Copyright 2016, IBM Corporation.
.\" Written by Mike Rapoport <rppt@linux.vnet.ibm.com>
.\" Copyright 2016, Michael Kerrisk <mtk.manpages@gmail.com>
.\" Copyright 2024, Alejandro Colomar <alx@kernel.org>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.TH UFFDIO_UNREGISTER 2const 2024-06-14 "Linux man-pages 6.9.1"
.SH NAME
UFFDIO_UNREGISTER
\-
unregister a memory address range from userfaultfd
.SH LIBRARY
Standard C library
.RI ( libc ", " \-lc )
.SH SYNOPSIS
.nf
.BR "#include <linux/userfaultfd.h>" "  /* Definition of " UFFD* " constants */"
.B #include <sys/ioctl.h>
.P
.BI "int ioctl(int " fd ", UFFDIO_UNREGISTER, const struct uffdio_range *" argp );
.fi
.SH DESCRIPTION
Unregister a memory address range from userfaultfd.
The pages in the range must be \[lq]compatible\[rq]
(see
.BR UFFDIO_REGISTER (2const)).
.SH RETURN VALUE
On success,
0 is returned.
On error, \-1 is returned and
.I errno
is set to indicate the error.
.SH ERRORS
.TP
.B EINVAL
Either
.I argp->start
or the
.I argp->len
fields
was not a multiple of the system page size; or the
.I argp->len
field was zero; or these fields were otherwise invalid.
.TP
.B EINVAL
There as an incompatible mapping in the specified address range.
.TP
.B EINVAL
There was no mapping in the specified address range.
.SH STANDARDS
Linux.
.SH HISTORY
Linux 4.3.
.SH EXAMPLES
See
.BR userfaultfd (2).
.SH SEE ALSO
.BR ioctl (2),
.BR ioctl_userfaultfd (2),
.BR UFFDIO_REGISTER (2const),
.BR userfaultfd (2)
.P
.I linux.git/Documentation/admin\-guide/mm/userfaultfd.rst
